Top 10k strings from Jacksoft Z80 Assembler v1.1 - Intro (1986)(Hans Georg Zezschwitz).z80
in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [Z80] (TOSEC-v2007-01-01) /
Back to the directory listing
2 PAUSED - (R)estart (C)ont (S)top> 2 23637+256* 1 you use the TAB command, (see later) so you can see how the 1 years old so must have been about 17 when he wrote JACKSOFT) 1 without a line number as BASIC commands may, but there are 1 which you want the code to be 1 various functions in JACKSOFT, and these are listed 1 typing in its number and ENTER; CHANGED by re-typing the number 1 two screen lines, is when there is a comment (like a BASIC 1 tutorial on the subject. You could do worse than read SPEC - 1 to write a short routine in this assembler, so its not too hard 1 to use. Be careful when using RUN though, amd watch those 1 thereafter use digits or the underline character, "_" up to a 1 then "RUN" from within JACKSOFT (for quick testing)or SAVEd, 1 the following pages for reference anders you should print out 1 the following pages for reference and then get hold of a good 1 the edit cursor over a line, make a change, and ENTER to 1 the cursor MUST be on the lower of the "screen lines" when 1 such as "microdrive full". Do NOT use CONTINUE to re-try as 1 start of the lower line. A "*", "!", "+" - anything but a digit 1 spaces before ";", and avoid alphanumerics as the first 1 so the listing may be amended by use of the cursor keys to move 1 re-loaded and used with a USR command from BASIC. If you know 1 rather than instructions to be ASSEMBLED into the machine code 1 program. Here is a list of these:- 1 ou should print out 1 other "control commands" or "assembler directives" to provide 1 or letter will also do! ALL input,including Z80 commands, may 1 off to the author Hans Georg Zezschwitz. I've seen commercial 1 of the end of the listing so you can check. Even if you use 1 number and a command, then ENTER to add the line to a program 1 nothing about machine code or assemblers you should print out 1 modest routines starting in the 60000 plus region there is no 1 may be longer than two "screen lines". If using the full-screen 1 maximum of 6 characters... 1 lots of comments you're not likely to run into trouble and you 1 line will be set out in the listing, and put a SPACE at the 1 ing the line as needed. JACKSOFT also has a full-screen editor 1 has placed this program in the public domain.HE sends a message 1 from Hamburg:- "GREETINGS TO ALL BRITISH SINCLAIR-USERS!". 1 for reference and 1 edit facility on a program line that uses two "screen lines", 1 direct commands. They are entered in the listing but not 1 danger of conflict but anyway, the X command shows the address 1 character of the second line of a comment! 1 can use the PSO command also (see later). 1 be in capital letters, small letters, or mixed. 1 assemblers far worse than this and Hans (who is now only 19 1 assembled into code. They're instructions TO the assembler 1 and the entire line again or MODIFIED by pressing E and edit- 1 although it SAVEs the file, the Spectrum re-sets on re-entry to 1 alphabetically on the following pages for reference. 1 When saving a file from JACKSOFT use RUN after a drive error 1 Well that's it! I think it's a fine assembler and I take my hat 1 The final program listing cannot be "RUN" immediately like 1 THIS SHOULD NOT BE LESS THAN THE END OF THE PROGRAM LISTING! 1 Sn,m,f SAVE listing from line n to line m under any filename. 1 Sn,m,*name (Note the "*"!) 1 REM). It's recommended that when entering a line with a comment 1 PSO n PARTICULARLY SPECIAL ORDER! (yerwot?) Used to assemble 1 ORG n Declares the address at 1 Note that only ONE command may be entered on a line and NO line 1 None of these commands can be entered as DIRECT COMMANDS, i.e. 1 Nn,m RE-NUMBER program lines from n onwards, in steps of m. 1 Moreover,the lower line MUST NOT BEGIN WITH A DIGIT OR LETTER! 1 LABELS must BEGIN with a letter of the alphabet, but may 1 JSOFT.TXTX 1 JACKSOFT's a program editor like BASIC - you type in a line 1 JACKSOFT! (Only checked on m/drive so far). 1 J,name LOAD a text file listing called name. File names up 1 J,< LOAD a BASIC file called "run" (DISCIPLE version may be 1 In use you will discover the only occasion a program line uses 1 In a similar way to 48K BASIC, a program line may be DELETED by 1 H,term HEX CALCULATOR. Any term, calcuation or expression may 1 H,START shows value of the label START in decimal+ hex 1 H,55000 shows the value 55000 in both decimal & hex 1 H,(5+3)*5 shows result in hex & decimal. 1 H,#FF shows the hex value FF in decimal & hex. 1 Finally, there are some pseudo - instructions which aren't 1 EQU name EQUALS - used to define labels (like variables) 1 ENTER is pressed to finalize the change. 1 ENT n Declares the address at which you wish to ENTER & run 1 DEFW n DEFINE WORD as for DEFB but for DOUBLE-BYTE values. 1 DEFS n DEFINE SPACE tells the assembler to leave n 1 DEFM "X" DEFINE MESSAGE followed by text in quote, tells the 1 DEFB n DEFINE BYTE tells the assembler to place the following 1 CAPS+9 TAB RIGHT TO NEXT PART OF LINE. Each line has 5 1 CAPS+5 MOVE CURSOR one char LEFT 1 CAPS+4 CLS - clears the screen 1 CAPS+3 MOVE CURSOR to the end of the line 1 CAPS+2 CAPS LOCK on/off in the normal way. 1 CAPS+1 INSERT CHARACTER (creates a space in a program line by 1 BASIC but must be "assembled" first, into pure machine code and 1 As with many PD programs, some bugs exist, but even I managed 1 A large listing may also run out of memory! If assembling 1 ;"Hold a key to stop printing": 1 ;"(R)eview file or (L)oad new file" 1 ;"(P)rinter or (S)creen?": 1 23638-753": 1 23638-0810": 1 (see X above) 1 ( Brian G. 1 ( Brian Cavers 1 "Filename "; 1 y at that point in the machine code. 1 within JACKSOFT but must SAVE it and re-load at the 1 will give an error when used with drives, but if a tape 1 whisked off screen before you can read them with K20 or 1 want the code to be. You cannot RUN the code from 1 value n in memory at that point in the code. 1 to 10 characters- no need to use quotation marks. 1 this, save your work in case of a crash! 1 the space created 1 the machine code. 1 the JACKSOFT code starts at 25000 and the end of the 1 the D command first if any listing is already in 1 the "*" prefix will divert the SAVE to my routine at 1 that you do not overwrite any machine code program you 1 tested) Dn,m DELETE lines n to m. To DELETE a whole 1 sections: Line number, label, command, argument and 1 section. This may be ignored when entering a line as 1 renumbered. Thus, the command may be used to add 1 register contents are displayed. Be very careful with 1 put comments after these instructions. 1 program waits anyway for a key to be pressed after n 1 program lines take up two screen lines. Listings get 1 program lines are listed, before scrolling up the 1 previously written standard routines (MACROS). This 1 prefer some other prefix. 1 placed at the start of line. 1 only so that the syntax is acceptable to JACKSOFT and 1 must not be spaces in the term. 1 moving all text to the right of the cursor one character 1 may also be used with label values. The term may be in 1 listing. I recommend you use K5 to K10 if many of your 1 listing use D1,n where n is any number greater than your 1 listing but see remarks above about entering a line with 1 line on its own or at the end of a line after a 1 length on screen. Line 9000 may be easily altered if you 1 last line number. By the way, the maximum line number is 1 it). ENT instruction needed (see below). The final 1 is no "scroll?" message in JACKSOFT as in BASIC, but the 1 initializes auto line numbering in steps of 20. Then 1 higher and higher in memory, so you need to be alert 1 have previously assembled. 1 further right. You can then type in a new character in 1 follow it with PSO n where n is the REAL address you 1 exit JACKSOFT. It can be used to return to basic. This 1 entire listing to regain control! 1 enter your next line in the normal way with a number. On 1 enter a directive, by DELETEing back over the number. 1 different). The file name and "<" prompt may be altered 1 decimal, hex or binary. Prefix hex values with # and 1 completion (after pressing ENTER) the next number 1 comment. TAB skips right to the start of the next 1 command. IMPORTANT! THERE MUST BE A SPACE BEFORE THE 1 command, with the block line DELETE and the block line 1 command (see later) and then enter C once only. (Not 1 code to run at low addresses below X (see above and 1 code , if there are no program lines present is 31715. 1 by changing BASIC line 8000. I added this command to 1 binary with %.Valid arith- metic may be employed and use 1 be used - the result's shown in both hex and decimal. It 1 based system is being used, it is the same as LOAD "". 1 automatic line numbering with the same increment. SWITCH 1 assembler to put the ASCII codes for the text in memor 1 assembled. 1 appears automatically. Stop this temporarily, e.g. to 1 any listing already in JACKSOFT and the listing will be 1 and m can be any number below 32768 as they are used 1 addresses empty (0) in the code. 1 address n. 1 a comment. 1 The semi-colon is like REM in BASIC and may be on a 1 Standard evaluation rules are obeyed. Note that there 1 Set the number of program lines to appear after the L 1 SAVE, may be used to get any MERGE arrangement you wish! 1 SAVE the assembled code under the filename "*name". n 1 RUN machine code program from within JACKSOFT (to test 1 REMEMBER though, if you just wish to load a file, use 1 ORG). Use a higher ORG address than you want and 1 OFF auto-line numbering with I0. 1 Next time you enter a line number it will recommence 1 LIST program from line n onward. NOTE WELL: USE 1 LD BC,(23675) is mis-assembled as LD BC,23675. Don't 1 JACKSOFT. 1 JACKSOFT will space out the line automatically in the 1 JACKSOFT format. Load the Hisoft file first using J 1 JACKSOFT Z80 ASSEMBLER BY HANS GEORG ZEZSCHWITZ. 1 JACKSOFT ASSEMBLER DIRECTIVES 1 INCREMENT n for automatic line numbering. E.g. I20 1 IMPORTANT - Any file loaded will be ADDED at the end of 1 FOOTNOTE-LAST MINUTE BUG FOUND! 1 Examples: 1 EDIT line n (line n is displayed and the cursor is 1 DISPLAY ADDRESS OF END OF LISTING. RAMTOP is at 24999, 1 CONVERT Hisoft Assembler text file (listing) into 1 BREAK (SHIFT+SPACE) to end or you may scroll through an 1 BASIC line 9000 which also PRINTs up the code start and 1 As you add program lines you use up more addresses 1 As A3 with printer 1 As A2 with printer 1 As A1 with printer 1 As A1 + A2 together 1 As A0 + show listing+code 1 As A0 + show labels used 1 ASSEMBLE listing into a machine code program 1 (the maximum step is 255) 1 (f = filename, no quotes required) 1 (arrow keys) 1 (Press ENTER after typing) 1 (LIST) command, before further keypress is needed. There 1 ";" or longer Z80 instructions may corrupt, e.g., 1 "&" for AND, "@" for OR and "!" for EXCLUSIVE OR. 1 " " UP 1 " " RIGHT 1 " " DOWN 1 (instructions re-written by Brian Cavers and Brian Gaff)